class Hell<Exception
  def initialize(parent)
    @parent=parent
  end
  attr :parent
end

begin
  begin
    begin
      raise "heck"
    rescue Exception=>e
      raise Hell.new(e)
    end
  rescue Hell=>e
    puts "found hell"
  rescue Exception=>e
    $e=e
    print "saw exception: #{e}, #{e.parent}\n"
    p e
    raise ArgumentError
  end
rescue Exception=>e
  print "saw exception: #{e}\n"
  puts $e
end